import { ResponseDataRoot } from '@/global/root_type'
// 预约挂号 页数据类型
export interface IHospitalRegister extends ResponseDataRoot {
  data: IHospitalRegisterData
}
export interface IHospitalRegisterData {
  bookingRule?: IBookingRule
  hospital?: IHospitalInfo
}

export interface IBookingRule {
  cycle: number
  releaseTime: string
  stopTime: string
  quitDay: number
  quitTime: string
  rule: string[]
}
export interface IHospitalInfo {
  id: string
  createTime: string
  updateTime: string
  isDeleted: number
  param: {
    hostypeString: string
    fullAddress: string
  }
  hoscode: string
  hosname: string
  hostype: string
  provinceCode: string
  cityCode: string
  districtCode: string
  address: string
  logoData: string
  intro: any
  route: string
  status: number
  bookingRule: any
}

// 科室数据类型
export interface IHospitalDepartment extends ResponseDataRoot {
  data: IHospitalDepartmentArr
}
export type IHospitalDepartmentArr = IHospitalDepartmentContent[]
export interface IHospitalDepartmentContent {
  depcode: string
  depname: string
  children?: IHospitalDepartmentContent[]
}

// 预约挂号 ：获取可预约排班数据

export interface IBookingScheduleList {
  workDate: string
  workDateMd: string
  dayOfWeek: string
  docCount: number
  reservedNumber: number
  availableNumber: number
  status: number
}

export interface IBaseMap {
  workDateString: string
  releaseTime: string
  bigname: string
  stopTime: string
  depname: string
  hosname: string
}
export interface IBookingScheduleData {
  total?: number
  bookingScheduleList: IBookingScheduleList[]
  baseMap?: IBaseMap
}
export interface IHospitalBookingSchedule extends ResponseDataRoot {
  data: IBookingScheduleData
}
// 预约挂号 : 获取排班数据

export interface IFindScheduleList {
  id: string
  createTime: string
  updateTime: string
  isDeleted: number
  param: {
    dayOfWeek: string
    depname: string
    hosname: string
  }
  hoscode: string
  depcode: string
  title: string
  docname: string
  skill: string
  workDate: string
  workTime: number
  reservedNumber: number
  availableNumber: number
  amount: number
  status: number
  hosScheduleId: string
}

export type IFindScheduleListArr = IFindScheduleList[]
export interface IFindScheduleListData extends ResponseDataRoot {
  data: IFindScheduleListArr
}
// 某个医生信息

export interface IDoctorShedule {
  id: string
  createTime: string
  updateTime: string
  isDeleted: number
  param: {
    dayOfWeek: string
    depname: string
    hosname: string
  }
  hoscode: string
  depcode: string
  title: string
  docname: string
  skill: string
  workDate: string
  workTime: number
  reservedNumber: number
  availableNumber: number
  amount: number
  status: number
  hosScheduleId: string
}
export interface IDoctorSheduleByIdData extends ResponseDataRoot {
  data: IDoctorShedule
}
